#include<iostream>
#include<cstring>

using namespace std;

const int N=1010;

const int M=55;

int f[N][M];

bool check[M][M][M];

int main()
{
    int n,m;
    cin>>n>>m;
    string str;
    for(int i=1;i<=(n<<1);i++)
    {
        cin>>str;
        for(int j=0;j<m;j++)
        {
            f[i][j]=str[j]-'A';
        }
    }
    int ans=0;
    for(int i=0;i<m;i++)
    {
        for(int j=i+1;j<m;j++)
        {
            for(int k=j+1;k<m;k++)
            {
                memset(check,true,sizeof(check));
                for(int jk=1;jk<=n;jk++)
                    check[f[jk][i]][f[jk][j]][f[jk][k]]=false;
                int flag=true;
                for(int jk=n+1;jk<=(n<<1);jk++)
                    if(check[f[jk][i]][f[jk][j]][f[jk][k]]==false)
                        flag=false;
                if(flag==true) 
                	ans++;
            }
        }
    }
    cout<<ans;
    return 0;
}